.landingHero {
  position: relative;
  display: flex;
  align-items: center;
  padding: 4rem 0;
  background-color: var(--bgColor-muted, var(--color-canvas-subtle, #f6f8fa));
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
  height: 28rem;
  width: 100%;
}

.heroContent {
  position: relative;
  width: 50rem;
  max-width: 50rem;
  padding: 0 7rem;
  display: flex;
  align-items: center;
}

.heroText {
  text-align: left;
  width: 100%;
}

.heroHeading {
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 1rem 0;
  color: var(--fgColor-default, var(--color-fg-default, #1f2328));
  max-width: 48rem;
}

.heroDescription {
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--fgColor-muted, var(--color-fg-muted, #656d76));
  margin: 0 0 2rem 0;
  max-width: 36rem;
}

.heroActions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.heroAction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
  min-height: 2.75rem;
  border: 1px solid transparent;
}

.heroPrimaryAction {
  background-color: var(
    --bgColor-success-emphasis,
    var(--color-btn-primary-bg, #1f883d)
  );
  color: var(--fgColor-onEmphasis, var(--color-btn-primary-text, #ffffff));
  border-color: var(
    --borderColor-success-emphasis,
    var(--color-btn-primary-border, #1f883d)
  );

  &:hover {
    background-color: var(
      --bgColor-success-emphasis,
      var(--color-btn-primary-hover-bg, #1a7f37)
    );
    border-color: var(
      --borderColor-success-emphasis,
      var(--color-btn-primary-hover-border, #1a7f37)
    );
    text-decoration: none;
  }

  &:focus {
    outline: 2px solid
      var(
        --borderColor-success-emphasis,
        var(--color-btn-primary-focus, #1f883d)
      );
    outline-offset: 2px;
  }
}

.heroSecondaryAction {
  background-color: transparent;
  color: var(--fgColor-default, var(--color-fg-default, #1f2328));

  @media (max-width: 865px) {
    background-color: var(
      --bgColor-muted,
      var(--color-canvas-subtle, #f6f8fa)
    ) !important;
  }

  border-color: var(
    --borderColor-default,
    var(--color-border-default, #d1d9e0)
  );

  &:hover {
    background-color: var(--bgColor-muted, var(--color-canvas-subtle, #f3f4f6));
    border-color: var(
      --borderColor-default,
      var(--color-border-default, #d1d9e0)
    );
    text-decoration: none;
  }

  &:focus {
    outline: 2px solid
      var(--borderColor-accent-emphasis, var(--color-accent-emphasis, #0969da));
    outline-offset: 2px;
  }
}

@media (max-width: 865px) {
  .landingHero {
    height: 28rem;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    background-color: var(--bgColor-muted, var(--color-canvas-subtle, #f6f8fa));
    position: relative;

    background-position: unset;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: inherit;
      background-size: contain;
      background-position: bottom;
      background-repeat: no-repeat;
      opacity: 0.5;
      z-index: 0;
    }
  }

  .heroContent {
    width: 100%;
    order: 2;
    padding: 0 1rem;
    position: relative;
    z-index: 1;
  }

  .heroHeading {
    font-size: 3rem;
  }

  .heroDescription {
    font-size: 1.1rem;
  }

  .heroActions {
    flex-direction: column;
    align-self: baseline;
    margin-left: 5rem;
    justify-content: center;
    align-items: center;
  }

  .heroAction {
    width: auto;
    min-width: 12rem;
  }

  .heroText {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .landingHero {
    height: 28rem;
    background-color: var(--bgColor-muted, var(--color-canvas-subtle, #f6f8fa));
    flex-direction: column;
    text-align: center;
    padding: 1rem 0 1rem;
    justify-content: center;
    position: relative;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: inherit;
      background-size: contain;
      background-position: bottom;
      background-repeat: no-repeat;
      opacity: 0.8;
      z-index: 0;
    }
  }

  .heroContent {
    width: 100%;
    order: 2;
    padding: 0 1rem;
    position: relative;
    z-index: 1;
  }

  .heroText {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .heroHeading {
    font-size: 2.5rem;
    line-height: 1;
  }

  .heroActions {
    flex-direction: column;
    align-self: baseline;
    margin-left: 2rem;
    justify-content: center;
    align-items: center;
  }

  .heroAction {
    min-width: 9rem;
    padding: 0.5rem 1rem;
  }

  .heroDescription {
    font-size: 1rem;
    max-height: 14rem;
    text-overflow: ellipsis;
  }
}
